home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / cnet / revive.lha / ReViveDBM < prev   
Text File  |  1995-09-29  |  3KB  |  56 lines

  1. /**************************************************************************\
  2.         $VER: ReVive DataBase Manager, v2.0 (29-Sep-95) by Dotoran!
  3. \**************************************************************************/
  4. options results;signal on SYNTAX;signal on ERROR;signal on IOERR;call IERROR
  5. tr=transmit;se=sendstring;gc=getchar;gu=getuser;gs=getscratch
  6. a='rexxsupport.library';if ~show('l',a) then if ~addlib(a,0,-30) then exit
  7.  
  8. mail=1          /* Backup UUCP Mail Directories as well? (0=No, 1=Yes) */
  9. skip="1 3"      /* ID's to SKIP backup of mail dirs. Parsed in SPACES  */
  10.  
  11. arg v1;zz="00"x;if v1=1 then do;gu 40;id=result;in=(id*38)-38
  12.   call open(f1,"SysData:ReViveDB","r");call seek(f1,in,"b")
  13.     uid=translate(strip(readch(f1,4),,zz),reverse(bb),bb)
  14.     han=translate(strip(readch(f1,20),,zz),reverse(bb),bb)
  15.     pas=translate(strip(readch(f1,14),,zz),reverse(bb),bb)
  16.   call close(f1);gu 41;sid=result;gu 1;handle=result
  17.   gu 2;password=result;gu 39;mdir=result
  18.   if sid~=uid|handle~=han|password~=pas then do
  19.     se "ceUpdating cbReVive cadatabasec6..."
  20.     call open(f1,"SysData:ReViveDB","r")
  21.       call seek(f1,in,"b")
  22.       z1=translate(sid,bb,reverse(bb))
  23.       z2=translate(handle,bb,reverse(bb))
  24.       z3=translate(password,bb,reverse(bb))
  25.       z=left(z1,4,zz)left(z2,20,zz)left(z3,14,zz)
  26.       call writech(f1,z)
  27.     call close(f1);tr "cddonec6.";end
  28.   if mail=0|index(" "skip" ",id)>0 then exit
  29.   se "caBacking up c6mail directory...$4 delete mail:users2/"mdir"/#?}"
  30.   address command "copy mail:users/"mdir"/ mail:users2/"mdir"/ all"
  31.   tr "cdcompletedc6!";exit;end
  32.  
  33. gu 2400088;acts=result
  34. tr "caCreating cbReVive cdDataBasecb:  ca"acts" c6Accounts.n1@4"
  35. call open(f1,"SysData:ReViveDB","w");do i=1 to acts
  36.   loadscratch i;st=result;savescratch (-i);getscratch 1;handle=result
  37.   se "c7(cd"right("cb"i,7,"0")"c7) ca"right(handle,20)"c9: "
  38.   if handle="!" then se "c9Deleted Accountc6, "
  39.   getscratch 2;password=result;getscratch 41;uid=result
  40.   z1=translate(sid,bb,reverse(bb));z2=translate(handle,bb,reverse(bb))
  41.   z3=translate(password,bb,reverse(bb))
  42.   z=left(z1,4,zz)left(z2,20,zz)left(z3,14,zz)
  43.   call writech(f1,z);tr "ceData cbUpdatedc6!";end i
  44. call close(f1);tr "n1cdCompletedc6!n1";if mail=0 then exit
  45. if ~exists("mail:users2/") then address command "makedir mail:users2"
  46. tr "caCreating cbReVive ceDuplicate UUCP Directoriesc6...c9n1@4"
  47. tr "#4 copy mail:users/ mail:users2/ all}cdDonec6!"
  48.  
  49. exit
  50. SYNTAX:;ERROR:;IOERR:;e1=' Error: 'rc' ('errortext(rc)')'
  51.   e2='  Line: 'left(sigl,4)'File:';gu 1311992;a=result;gu 1311960;b=result;c='"'a||b'"';e2=e2' 'c;tr e1;tr e2;logentry e1;logentry e2
  52.   e=sourceline(sigl);do while e~='';e3='Source: 'left(e,37);tr e3;logentry e3;e=substr(e,38);end;bufferflush;exit
  53. IERROR:;bb="`~!@#$%^&*()_-+=|\abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':"d2c(34)",./<>?";return
  54. /** Last Edited: 29-Sep-95 ************************************************\
  55. \****************************************** Frontiers BBS (716)/823-9892 **/
  56.